home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 42 / Amiga Format AFCD42 (Issue 126, Aug 1999).iso / -serious- / hardware / blizkick / modules / movevbr.asm < prev    next >
Assembly Source File  |  1999-05-17  |  1KB  |  72 lines

  1. ; FILE: Source:modules/MoveVBR.ASM          REV: 6 --- Moves VBR to fastmem
  2.  
  3. ;
  4. ; MoveVBR module for BlizKick
  5. ; ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6. ; Written by Harry Sintonen.
  7. ; This source code is Public Domain.
  8. ;
  9. ;
  10.  
  11.     incdir    "include:"
  12.     include    "exec/types.i"
  13.     include    "exec/libraries.i"
  14.  
  15.     include    "exec/execbase.i"
  16.  
  17.     include    "blizkickmodule.i"    ; Some required...
  18.  
  19.     SECTION    MODULE,CODE
  20. _DUMMY_LABEL
  21.  BK_MOD BKMF_SingleMode,_end,(RTF_COLDSTART)<<24+37<<16+NT_UNKNOWN<<8+104,_name,_idstr,_init
  22. ;BK_MOD BKMF_SingleMode,_end,(RTF_COLDSTART)<<24+37<<16+NT_UNKNOWN<<8+$FF,_name,_idstr,_init
  23.  
  24. ; Singlemode on,
  25. ; COLDSTART module, requires KS V37.x or better, module type NT_UNKNOWN, priority 104.
  26.  
  27. _init    movem.l    d0-a6,-(sp)
  28.     move.l    (4).w,a6
  29.     btst    #AFB_68010,(AttnFlags+1,a6)
  30.     beq.b    .exit2
  31.     jsr    (-$78,a6)        ;call    Disable
  32.  
  33.     lea    (.getvbr,pc),a5
  34.     jsr    (-$1E,a6)        ;call Supervisor
  35.     tst.l    d0
  36.     bne.b    .exit
  37.  
  38.     move.l    #$400,d0
  39.     moveq    #4,d1            ;MEMF_FAST,d1
  40.     jsr    (-$2AC,a6)        ;call    AllocVec
  41.     tst.l    d0
  42.     beq.b    .exit
  43.     move.l    d0,a2
  44.  
  45.     sub.l    a0,a0
  46.     move.l    a2,a1
  47.     move.l    #$400,d0
  48.     jsr    (-$276,a6)        ;call    CopyMemQuick
  49.     jsr    (-$27C,a6)        ;call    CacheClearU
  50.  
  51.     lea    (.setvbr,pc),a5
  52.     jsr    (-$1E,a6)        ;call Supervisor
  53.  
  54. .exit    jsr    (-$7E,a6)        ;call    Enable
  55. .exit2    movem.l    (sp)+,d0-a6
  56.     rts
  57.  
  58. .getvbr    movec    vbr,d0
  59.     rte
  60. .setvbr    movec    a2,vbr
  61.     rte
  62.  
  63. _name    dc.b    'MoveVBR',0
  64. _idstr    dc.b    'MoveVBR 1.2 (11.9.96)',0
  65.     CNOP    0,2
  66. _end
  67.  
  68.     SECTION    VERSION,DATA
  69.  
  70.     dc.b    '$VER: MoveVBR_MODULE 1.2 (11.9.96)',0
  71.  
  72.